System and method for displaying selected garments on a computer-simulated mannequin

ABSTRACT

A method and system for providing a computer-simulated environment for displaying a selected mannequin wearing a combination of selected garments. In one aspect, three-dimensional scenes containing mannequin and garment objects are created within a three-dimensional modeling environment, and a simulation is performed using a cloth simulator within the modeling environment to model the construction, draping, and collision of the garment with the mannequin. Rendering frames corresponding to a variety of garments, mannequins, garment dimensions, garment styles, wearing patterns, viewing angles, and other parameters, are then generated from which images can be rendered and displayed in accordance with user requests.

FIELD OF THE INVENTION

The present invention relates to methods and systems for producingimages of computer-simulated clothing.

BACKGROUND

The concept of a computerized or simulated dressing environment is auser-operated display system that generates computer-simulated images ofa human figure wearing one or more selected garments. The simulatedhuman figure thus represents a virtual model or mannequin for modelingclothes. Such an environment should ideally provide the user with thecapability of viewing the mannequin and garment from a plurality ofviewpoints to give a three-dimensional experience. By allowing the userto also select in some manner the particular human figure that is towear the garment, an individualized experience is provided that allowsthe user to see what selected clothes look like when worn by differentpeople.

The degree to which the system takes into account the physical forcesacting on a garment as it is worn determine in large part how visuallyrealistic the computer-generated images are. Simulation of the drapingand collision of a garment object with a mannequin using athree-dimensional modeling environment (e.g., Maya, manufactured byAlias Wavefront of Toronto, Canada) allows the rendering of atwo-dimensional image of the mannequin and garment that is quiterealistic in appearance. It is desirable in a simulated dressingenvironment, however, for a user to be able to select among a variety ofdifferent mannequins and/or garments for displaying. Accordingly, asimulated dressing environment could be implemented with athree-dimensional modeling environment simply by simulating particulardressing scenes in response to user inputs and then renderingtwo-dimensional images directly from the simulation scene. The massiveamount of computation required to perform a collision and drapingsimulation for any particular mannequin and garment, however, makesthree-dimensional modeling an impractical way by itself in most commonlyavailable computing environments to generate the multiple images ofdifferent mannequins and garments needed to implement a dressingenvironment.

SUMMARY OF THE INVENTION

A primary aspect of the present invention is a method for efficientlyproducing images of a computer-simulated mannequin wearing a garment orgarments, the geometries of which are defined by selected mannequin andgarment parameter values. An image, as the term is used herein, includesany spatial function derived from a perspective projection of athree-dimensional scene either existing in the real world or as modeledby a computer. This definition includes not only the usualtwo-dimensional intensity image, such as that formed upon the humanretina when viewing a scene in the real world or that captured onphotographic film through a camera aperture, but also two-dimensionalfunctions incorporating both intensity and phase information for use inwavefront reconstruction (i.e., holograms). The present inventionprimarily deals with digital images (i.e., discrete two-dimensionalfunctions) derived from three-dimensional scenes by the process ofrendering. An image should therefore be taken to mean any form of suchrendered data that is capable of being represented internally by acomputer and/or transmitted over a computer network. When referringspecifically to a visually informative representation that can actuallybe perceived by the human eye, such as that produced on a computerdisplay, the term visual image will be used.

In one embodiment, the present invention includes performing a drapingand collision of a garment with a mannequin within a three-dimensionalsimulation scene to generate a rendering frame from which an image of amannequin wearing a garment can be rendered, and further includesgenerating rendering frames containing mannequins and garments asdefined by selected parameter values by shape blending the mannequinsand/or garments of previously generated rendering frames. Linearcombinations of the parameter values of previously generated renderingframes (e.g., as produced by interpolating between such values) are thusused to generate rendering frames with the desired mannequin andgarment.

In another embodiment, the invention includes the generation of arendering frame containing a mannequin wearing a particular garment froma collision and draping simulation and the further addition of garmentconstraints corresponding to particular predefined shells around themannequin that mimic the way the garment behaves when worn with anotherparticular garment. These garment constraints are defined so as toconform to various dressing conventions or rules relating to how clothesare worn, e.g., the wearing of a coat over a shirt. Rendering framescorresponding to different versions of a garment may thus be produced,where the information contained within separately generated renderingframes corresponding to particular versions of garments can then be usedto produce a composite image of the garments worn in combination. Forexample, images can be rendered separately from each such renderingframe and layered upon one another in an appropriate order, or acomposite image can be rendered using the depth information contained ineach rendering frame. In this way, mixing and matching of garments on amannequin is facilitated.

Another embodiment of the invention relates to a computerized dressingenvironment for displaying a selected garment worn by a selectedmannequin in which garment images rendered from a three-dimensionalsimulation scene are stored in a repository and displayed in accordancewith user inputs. The garment images include images of a plurality ofgarments, including versions of garments, and renderings of each garmentfrom a plurality of viewpoints so as to provide a three-dimensionalexperience to the user. In order to display a selected mannequin wearingselected multiple garments, garment images corresponding to particularversions are selected in accordance with versioning rules by aversioning rule interpreter. The appropriate garment images are thenlayered upon an image of a selected mannequin to create a compositeimage. The layering order of the garment images is dictated bycompositing rules derived from dressing conventions. Another embodimentof the invention relates to a method for efficiently populating such agarment image repository with garment images by using the methodsdescribed above.

Other objects, features, and advantages of the invention will becomeevident in light of the following detailed description of exemplaryembodiments according to the present invention considered in conjunctionwith the referenced drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A shows the panels of a garment object within a simulation scene.

FIG. 1B shows the initial frame of a simulation scene in which thegarment is placed over the mannequin in a dressing pose.

FIG. 1C shows the final frame of a simulation scene after simulation ofdraping and collision of a garment with a mannequin and animation of themannequin to a display pose.

FIG. 2 shows the frames of a simulation scene as a simulationprogresses.

FIG. 3 shows the modifying of object parameters within a rendering frameand performance of a partial further simulation to generate a modifiedrendering frame.

FIG. 4 shows the rendering of garment images from rendering frames withdifferent camera positions.

FIG. 5 shows a plurality of pre-rendered garment images and the processsteps for storing the images in a repository.

FIG. 6 shows constraining shells defined around a mannequin that areused in defining particular versions of a garment.

FIGS. 7A through 7C show multiple versions of a garment as definedwithin a rendering frame.

FIGS. 8A and 8B show a depiction of the rendering frames for twogarments and the corresponding garment images rendered therefrom asdisplayed in layers

FIG. 9 shows a composite image made up of multiple garment images.

FIG. 10 is a block diagram showing the components of a system forpopulating a repository with images.

FIG. 11 is a block diagram of an implementation of a system fordisplaying selected images of garments worn by a mannequin over anetwork.

DETAILED DESCRIPTION OF THE INVENTION

The present invention is a system and method for efficiently providing acomputer-simulated dressing environment in which a user is presentedwith an image of a selected human figure wearing selected clothing. Insuch an environment, a user selects parameter values that define theform of the human figure, referred to herein as a virtual mannequin,that is to wear the selected clothing. Such parameters may be actualbody measurements that define in varying degrees of precision the formof the mannequin or could be the selection of a particular mannequinfrom a population of mannequins available for presentation to the user.One type of user may input parameter values that result in a virtualmannequin that is most representative of the user's own body in order tomore fully simulate the experience of actually trying on a selectedgarment. Other types of users may select mannequins on a different basisin order to obtain images such as for use in animated features or as anaid in the manufacturing of actual garments. The particular garment tobe worn by the virtual mannequin is selected from a catalogue ofavailable garments, where each garment may be further selected accordingto, e.g., style, color, or physical dimension.

In order to provide a more realistic representation of the physicalfitting of the garment on the mannequin, an image of a virtual mannequinwearing selected garments is generated by using a three-dimensionalmodeling environment that provides a cloth simulation of the garmentinteracting with the mannequin. This provides a more visually accuraterepresentation presented to the user in the form of a two-dimensionalimage rendered from the three-dimensional model. The simulation isperformed by constructing three-dimensional models of the garment andmannequin using vector or polygon-based graphics techniques, referred toas garment and mannequin objects, respectively, and placing the garmentand mannequin objects together in a three-dimensional simulation scene.A scene in this context is a three-dimensional data structure that ismade to contain one or more three-dimensional objects and defines theirrelative position and motion. Such a scene may be organized into anumber of frames representing discrete points during a simulation oranimation sequence. An image may be rendered from a frame by computing aperspective projection of the objects contained in the scene inaccordance with a specified viewpoint and lighting condition.

After constructing a simulation scene containing the mannequin andgarment, the garment is fitted on the mannequin by simulating thedraping and collision of the garment with the mannequin due to physicalforces. Such a simulation may facilitated by modeling garments asindividual panels corresponding to the sewing patterns used to constructthe actual garments, where the panels are closed surfaces bounded bycurved or straight lines. Texture mapping may be used to map differentcloth fabrics and colors, and ornamental details such as buttons,collars, and pockets to the garment object in the simulation scene. Oneor more rendering frames are then created by performing a draping andcollision simulation of the garment with the mannequin, which includesanimating the mannequin from a dressing pose to a display pose. Theanimation takes place within the three-dimensional modeling system thatsimulates motion and collision of the cloth making up the garment as themannequin moves. A two-dimensional image for presentation to the usermay then be rendered from the rendering frame in accordance with aselected camera position that determines the particular view that isrendered. In certain embodiments, the simulation may provide for aplurality of display poses by the mannequin with rendering framesgenerated for each such display pose.

It is desirable for the simulated environment to have the capability ofdisplaying a number of different mannequins wearing garments ofdifferent dimensions. One way of providing this functionality is toperform the simulation and rendering as described above separately andin real-time for each selected mannequin and garment. Simulating thedraping and collision of a garment with a mannequin is computationallyintensive, however, and real-time simulation may thus not be practicalin most situations. In order to reduce the computational overheadassociated with displaying multiple mannequins or garments of selecteddimensions, the simulation may be fully performed with representativemannequins and garments defined by reference parameters to generatethree-dimensional reference rendering frames. Shape blending techniquesare used to modify the mannequin and/or garment parameters to desiredselected values by interpolating between the corresponding parametervalues of reference rendering frames. In accordance with the invention,garment and/or mannequin parameter values corresponding to the desiredchanges are modified within a rendering frame, and a partial furthersimulation is performed that creates a new rendering frame containingthe changed mannequin and/or garment. For example, the dimensions of theindividual panels making up the garment may be changed, with theresulting panels being then blended together within the simulationenvironment. Similarly, the dimensions of a mannequin may be changed byblending the shapes of previously simulated mannequins. The parametersare thus keyframed within the simulation sequence, where keyframing, inthis context, refers to assigning values to specific garment ormannequin parameters in a simulation scene and generating a new frameusing a linear combination of parameter values (e.g., interpolation orextrapolation) generated from a previous simulation. In this way, a newrendering frame is generated that contains a mannequin with differentmeasurements and/or a garment with a different dimensions as selected bythe user. Thus, the simulation need only be fully performed once with arepresentative garment and mannequin, with keyframing of parametervalues within the three-dimensional modeling system being used togenerate rendering frames containing a particular mannequin and garmentas selected by a user. Simulation of the modified garment interactingwith the mannequin as the partial further simulation takes placerequires much less computation than a complete resimulation of thedraping and collision of a changed garment over a mannequin. Only whenthe user selects a garment or mannequin that cannot be generated bylinearly combining parameters from a previously generated renderingframe does a full draping and collision simulation need to be performed.

Another desirable feature of a simulated dressing environment is for theuser to be able to display a mannequin wearing multiple selectedgarments (e.g., outfits). In one embodiment of the invention, images ofa mannequin wearing multiple selected garments are generated bysimulating the simultaneous draping and collision of multiple garmentswith the virtual mannequin in a single simulation scene to create asingle rendering frame. In this embodiment, dressing rules may be usedthat dictate how garments should be layered in the simulation scene inaccordance with dressing conventions. Changes to the mannequin and/orgarment can then made to the rendering frame by the keyframing andpartial further simulation technique described above. Thetwo-dimensional image of the mannequin wearing the multiple garmentscould then be rendered using the Z-coordinates (where the Z-coordinaterepresents depth in the three-dimensional model) of the mannequin andgarment objects in the rendering frame. Such rendering usingZ-coordinates may be performed, for example, based on individual pixels(Z-buffering) or by sorting individual polygons based upon arepresentative Z-coordinate.

As noted above, however, draping and collision simulation iscomputationally intensive, and even more so in the case of multiplegarments, making simulation of user-selected mannequins wearing selectedmultiple garments in real time in order to render images therefromimpractical in most situations. Therefore, in a presently preferredembodiment of the invention, two-dimensional images of mannequins andsingle garments are pre-rendered from rendering frames generated asdescribed above and stored in a repository for later display in responseto user inputs, where the garment images correspond to a plurality ofdifferent garments and views of such garments. The methods describedabove enable such a repository to be efficiently populated. In addition,in order to avoid the computational complexity of pre-renderingtwo-dimensional images corresponding to every possible combination ofmultiple garments on every possible mannequin, multiple versions ofsingle garments may be defined which are then simulated and renderedinto two-dimensional images, where the two-dimensional renderings ofspecific garment versions may then be combined with renderings ofspecific versions of other garments according to versioning rules. Suchversions of garments enable the garment images rendered from separatesimulations to be combined in a composite image.

Particular versions of particular garments are simulated and renderedinto two-dimensional garment images in a manner that mimics the physicalinteraction between multiple garments in a simultaneous draping andcollision simulation. An approximation to such a simulation is effectedby creating each version of a garment in a manner such that the garmentis constrained to reside within or outside of particular predefinedshells defined around the mannequin. Different versions of a garment arecreated by first simulating the draping and collision of arepresentative garment with a mannequin as described above. Shells arethen defined around the mannequin, and portions of the garment areconstrained to reside either inside or outside of particular shellsaccording to the particular version being created. Versioning rules thendefine which versions of the garment objects are to be used whenparticular multiple garments are selected to be worn together by themannequin. Collisions of multiple garments with one another are thusresolved in a manner that allows single garments to be independentlysimulated and rendered for later combination into a composite image.Such combination may be performed by layering the images in a prescribedorder or by using the depth information contained in the rendering frameof each garment.

The pre-rendered two-dimensional garment images are then combinable intoa composite display, with the particular version images to be used beingchosen by a version rule interpreter that interprets the versioningrules. Such two-dimensional images of garment versions are generated forall of the possible mannequins and single garments that the user isallowed to select for display. A repository of two-dimensional images isthus created where the individual images can be layered upon one anotherin order to display a selected mannequin wearing selected multiplegarments. The two-dimensional images are layered upon one another in aprescribed order to create the final composite two-dimensional imagepresented to the user. The layering is performed using a rule-basedinterpreter that interprets compositing rules that define in what orderspecific garments should be appear relative to other garments. Suchcompositing rules are based upon dressing rules that define the howclothes are conventionally worn. For example, one such dressing rule isthat jackets are worn over shirts, and the corresponding compositingrule would be that the rendering of a jacket should be layered on top ofthe rendering of a shirt.

Independently pre-rendering single garments also allows for thecomputational overhead to be further reduced by generating a renderingframe with a representative mannequin and garment, and then modifyingthe garment and/or mannequin by keyframing the garment and/or mannequinparameter values in a rendering frame and performing a partial furthersimulation of the interaction of the modified garment with the mannequinas described above. The two-dimensional images derived from therendering frames may also include renderings from a plurality of camerapositions. A user may then select a particular viewing perspective inwhich to view the selected mannequin wearing selected multiple garments,with the pre-rendered images used to make up the composite image beingrendered from the camera position corresponding to that viewingperspective. The pre-rendering procedure can thus be performed for apopulation of mannequins and for a plurality of different garments andversions of garments at a plurality of camera positions to generate arepository of two-dimensional garment images that may be combinedtogether in response to user selection of garment and/or mannequinparameter values.

In accordance with the invention, a system for displaying a selectedcomputer-simulated mannequin wearing a selected garment includes a userinterface by which a user selects a mannequin image and one or moregarments to be worn by the mannequin from a repository of pre-renderedgarment images, the mannequin image and garment images then beingcombined to form a composite image. The system then further includes aversioning rule interpreter for choosing among versions of the garmentimages for displaying in accordance with versioning rules that definewhich versions of particular garments are permitted when combined withanother particular garment. Versions of garment images may also bedefined which differ in a fitting characteristic (e.g., loose, snug,etc.) or a wearing style (e.g., shirt tucked in or out, sweater buttonedor unbuttoned, etc.) A compositing rule interpreter is provided fordisplaying the two-dimensional images of versions of user-selectedgarments chosen by the versioning rule interpreter and of a selectedmannequin in a layered order dictated by compositing rules.

In a presently preferred exemplary embodiment of the invention to bedescribed further below, a repository of garment images is created whichcan be drawn upon to provide a simulated dressing environment fordisplaying a selected computer-simulated mannequin wearing selectedgarments. In such a system, a user interface enables the user to selecta particular mannequin (e.g., derived from specified body measurements)and particular garments to be worn by the mannequin. Certain embodimentsmay allow the user to also specify the viewpoint of the image eventuallyrendered to a display and/or the display pose of the mannequin.Exemplary applications of the dressing environment include its use aspart of a computerized catalogue in which users select particulargarments to be worn by particular mannequins and as a tool for use byanimators to generate images of dressed mannequins that can beincorporated in an animation sequence. The dressing environment can alsobe used to simulate the appearance of garments as an aid to themanufacture of actual garments from predefined sewing patterns.

In one embodiment, the garment images are two-dimensional images ofgarments that are pre-rendered from three-dimensional rendering framesgenerated by simulating the draping and collision of a garment with amannequin in a three-dimensional modeling environment. The repositorycontains garment images that differ according to garment type, style,dimensions, and the particular mannequin which is to be shown wearingthe garment. Additionally, different versions of each garment areprovided which are generated so as to be combinable with other garmentimages on a selected mannequin by layering the garment images on atwo-dimensional image of a selected mannequin in a prescribed order.Versions of garments are also defined that differ according to a fittingcharacteristic (e.g., loose fit, snug fit, etc.) or a wearing style(e.g., buttoned, unbuttoned, tucked in or out, etc.). Finally, therepository contains the garment images rendered from a plurality ofcamera positions. A user is thus able to dress a selected mannequin withselected garments and view the mannequin from a plurality of angles. Inanother embodiment, pre-rendered images corresponding to a plurality ofmannequin display poses are also stored in the repository. In anotheralternate embodiment, rendering frames are stored in the repositoryafter extraction of the garment object. After retrieving the appropriategarment from the repository (i.e., according to user selection and inaccordance with versioning rules), an image can be rendered from anarbitrary camera position. Because the displayed images are ultimatelyderived from three-dimensional simulations, a visually realisticexperience is provided to the user but in a much more efficient mannerthan would be the case if the simulations were performed in real time.

During the simulation process, a three-dimensional simulation scene iscreated from which one or more three-dimensional rendering frames can begenerated. Garment images are then rendered from the rendering frames.Referring first to FIGS. 1A through 1C, three stages of the simulationprocess are shown in which objects corresponding to a garment and amannequin are generated and placed within a three-dimensional scene.FIG. 1A shows a garment object made up of a plurality of garment panelsGP, where the panels can be defined with respect to shape and dimensionso as to correspond to the sewing patterns used to construct an actualgarment. In the Maya modeling environment, for example, a panel isdefined as a region enclosed by two or more NURBS curves which arejoined together and tessellated to form a garment. The garment panels GPand a mannequin M are then placed together in a three-dimensional sceneas shown in FIG. 1B, where the mannequin is shown in a dressing pose andthe garment panels are placed at positions around the mannequinappropriate for the subsequent simulation. FIG. 1C shows thethree-dimensional scene after the simulation process has completed.During the simulation, the garment panels GP are joined together (i.e.,corresponding to the stitching of sewing patterns) to form the garmentG. The draping and collision of the garment G with the mannequin M dueto physical forces is also simulated, and the mannequin is animated fromthe dressing pose to a display pose with motion of the garment beingconcomitantly simulated.

FIG. 2 shows a number of representative frames F1 through F70 of thesimulation scene as the simulation progresses. Frame F1 corresponds tothe initial sewing position as previously depicted in FIG. 1B, andframes F2 and F3 show the progression of the draping and collisionsimulation which culminates at frame F40 in which the completed garmentG is fitted over the mannequin M in the dressing pose. The simulationfurther progresses to frame F70 where the mannequin M is animated tomove to a display pose, moving the garment G along with it. Frame F70thus forms a rendering frame from which a two-dimensional image of thegarment G can be rendered and deposited into the repository as a garmentimage. As noted earlier, in one particular embodiment rendering framescorresponding to a number of different display poses may be generated.

For each type of garment G (i.e., shirt, pants, coat, etc.), a renderingframe can be generated as described above, and a garment imagecorresponding to the garment type is generated. In order to reduce thecomputational overhead involved in generating garment images that differonly with respect to certain garment parameter values such as garmentdimensions and style, or with respect to mannequin parameter values thatdefine the particular mannequin with which the draping and collisionsimulation of the garment takes place, a full draping and collisionsimulation starting with the garment panels is first performed for eachgarment type with a reference garment and a reference mannequin tothereby generate a reference rendering frame. The mannequin and/orgarment parameter values are then modified in the reference renderingframe, with the geometry of the scene then being updated by the clothsolver in accordance with the internal dynamic model of the modelingenvironment. The three-dimensional modeling environment generates themodified mannequin and/or garment objects as linear combinations ofparameters calculated in the prior reference simulation so that a fullresimulation does not have to be performed. Thus only a partialresimulation needs to be performed to generate a new rendering framecontaining the modified mannequin and/or garment.

FIG. 3 shows a number of representative frames F70 through F80 of aresimulation scene showing the parameter modifying and partialresimulation process. Frame F70 is the reference rendering frame, havingbeen previously generated with a reference mannequin and garment asdescribed above, and from which garment images corresponding to thereference garment can be rendered. At frame F71, parameter values of themannequin M or the garment G are modified while the simulation processis temporarily halted. Such parameter values that can be modified atthis point include various dimensions of the mannequin M as well asdimensions and shapes of the garment panels GP that make up the garmentG. The simulation is then restarted with the modified parameter valueswhich completes at frame F75. The three-dimensional modeling environmentis able to retain the information produced as a result of the referencesimulation so that the coordinates of the mannequin and garment objectsat frame F75 are solved without doing a complete draping and collisionsimulation with the modified parameters. Frame 75 can then be employedas a rendering frame for the modified garment and/or mannequin with agarment image rendered therefrom. Frame F76 of FIG. 3 shows how thegarment and mannequin parameters can be further modified from those ofthe rendering frame in frame F75, with partial resimulation performed togenerate a sequence of frames ending at frame F80. The procedure canthen be repeated as needed to in order to generate garment imagescorresponding to any number of modifications made to the garment and/ormannequin. In this way, the repository of garment images can beefficiently populated with garments of different dimensions suitable forlayering on a mannequin chosen from a population of mannequins ofdifferent dimensions.

As noted above, the population of garment images in the repositoryincludes renderings of each garment from a plurality of viewing anglesin order to simulate the three-dimensional experience for the ultimateuser. FIG. 4 shows how garment images corresponding to different viewingperspectives are created from rendering frames by turning on differentcameras for the rendering process. (A camera in this context is theviewing position within the scene from which an image is rendered.)Shown in the figure are a plurality of rendering frames H1 through H12generated as described above for three different garments (i.e.,garments differing according to type or garment parameter values) asfitted on three mannequins. Frames H1 through H4 are rendering framesgenerated for a particular garment and mannequin that differ only in theparticular camera C1 through C4 which is turned on. Rendering thegarment object from each of the four frames then produces four views ofthe garment, designated garment images DG1 through DG4 as shown in FIG.5. Similarly, rendering the garment objects from frames H5 through H9and frames H9 through H12 produces four perspective views of each ofthose garments, also shown in FIG. 5 as garments DG5 through DG12.

FIG. 5 shows that the garment images DG1 through DG12 aretwo-dimensional graphics files that go through a sequence of stepsbefore being stored in the repository. First, the files are named andcatalogued at step 51 so as to be accessible when needed to generate aparticular composite image. Next, image processing is performed at step52 to convert the files to a desired image file format (e.g., jpeg,tiff, gif) which may or may not include data compression. Finally, thefiles are stored in the repository (e.g., located on a hard disk orother appropriate storage medium) at step 53.

As noted above, a plurality of different versions of each garment imageare created and stored in the repository in order to enable multiplegarment images to be layered on a two-dimensional rendering of amannequin, with the garments being rendered from rendering frames in anindependent manner. Each version is defined to be combinable with one ormore particular garments and is rendered from a rendering frame in whichthe garment is constrained to reside within or outside of particularpredefined shells around the mannequin. The constraining shells serve tomimic the collisions with another garment that would take place were asimulation to be performed with that other garment. FIG. 6 shows amannequin M around which are defined a plurality of shell regions (i.e.,regions within or outside of particular shells) designated A through Gthat represent a plurality of offset distances from the mannequin. Aversion of a garment is constructed by constraining portions of thegarment in a rendering frame to reside within or outside of particularshells. The particular constraints chosen for a version are designed tocorrespond to where the portions of the garment would reside were it tobe collided with another particular garment in a simulation scene. FIGS.7A through 7C show three versions of a representative garments G inwhich portions of the garment in each version have been constrained toreside within or outside of particular shells. Garment images may thenbe rendered from the version rendering frame at a plurality of cameraangles to correspond to different views of the garment version. Creatingversions of garments at the level of the rendering frame instead of inthe two-dimensional garment image itself permits large numbers ofviewing perspective renderings to be generated from a single versionrendering frame in a consistent manner.

When a composite display showing the mannequin wearing multiple selectedgarments is to be generated by the dressing environment, a versioningrule interpreter selects particular versions of the garments to bedisplayed in accordance with predefined versioning rules. A compositingrule interpreter then displays the two-dimensional images of theselected garments and of a selected mannequin in a layered orderdictated by compositing rules. To illustrate by way of example, FIG. 8Ashows a plurality of shells surrounding a mannequin M as seen fromabove, with portions of a jacket garment G3 and a shirt garment G1constrained to reside within or outside of shells C and J. FIG. 8A thusrepresents what a combination of the two separate rendering framescontaining garments G1 and G3 would look like. When garments G1 and G3are selected to be worn by the mannequin, the versioning ruleinterpreter selects particular versions of those garments from thegarment image repository in accordance with a versioning rule. In thiscase, the versioning rule would select the versions of the jacket G3 andshirt G1 that have been rendered from rendering frames with the garmentsconstrained as shown in FIG. 8A which ensures that any rendering of thejacket G3 will reside outside of a rendering from the same camera angleof shirt G1. FIG. 8B shows the two-dimensional garment images ofgarments G1 and G3 that have been retrieved from the repository inaccordance with the versioning rules and a two-dimensional mannequinimage M. The compositing rule interpreter displays the images in alayered order as defined by a compositing rule which, in this case,dictates that the jacket image G3 will be layered on top of the shirtG1, both of which are layered on top of the mannequin image M. FIG. 9shows a composite image as would be presented to a user as a result ofthe layering process.

The above-described preferred embodiment has thus been described as asystem and method in which images of garments and mannequins that havebeen pre-rendered from frames of three-dimensional simulation scenes arestored in a repository for selective retrieval in order to fromcomposite images. FIG. 10 shows in block diagram form the primarysoftware components of an image generation system for populating arepository with images. A three-dimensional modeling environment 100 inconjunction with a cloth simulator 104 are used to simulate the drapingand collision of a garment with a mannequin. (An example of athree-dimensional modeling environment and cloth simulator is theaforementioned Maya and Maya Cloth.) A parameter input block 102 inputsuser-defined parameters (e.g., from a display terminal) into themodeling environment in order to define the garment and mannequinparameters as described above for the simulation. A rendering framegenerator 108 communicates with the modeling environment 100 in order toextract rendering frames therefrom. The rendering frame generator 108also works with the modeling environment to perform shape blending uponreference rendering frames in order to generate frames with modifiedparameters without performing a full simulation. Versioning tools 106are used within the rendering frame generator to create the particularversions of the garments that are combinable with other garmentsaccording to versioning rules. The versioning tools 106 interface withthe three-dimensional modeling environment (e.g., as a C/C++ sharedobject library in conjunction with scripts written in a scriptinglanguage of the three-dimensional modeling environment such as the MayaEmbedded Language) and enable a user to define garment shells andassociate simulation properties (e.g., collision offset, clothstiffness, cloth thickness) to garments and mannequins within thesimulation. Images of garments and mannequins are rendered from therendering frames at a selected viewpoint by the rendering engine 110.The images are then converted to a convenient file format, named, andcatalogued to enable access by the display system, and stored in theimage repository 112.

Another aspect of the preferred exemplary embodiment described above isa display system for retrieving images from the image repository andcombining the images into a composite image for displaying to a user.One possible implementation of such a display system is as a client andserver communicating over a network, in which the client part of thesystem (i.e., the user interface) is a hypertext transport protocol(http) or web browser that receives and displays the composite images ofthe clothed mannequins that the user requests. FIG. 11 is a blockdiagram showing the software components of such an implementation. Theserver side of the system includes an http server 120 and a pagegenerator 118 for generating the html (hypertext markup language) pagescontaining the composite images in accordance with the user request.Upon receiving a request from the user to display a particular mannequinwearing particular garments from a particular viewing perspective, thehtml page generator 118 (which may be, e.g., a common gateway interfacescript or a program communicating with the http server via anapplication server layer) communicates with a versioning ruleinterpreter 114 in order to select the particular images retrieved fromthe image repository 112. Next, the retrieved images are layered into acomposite image that is embedded into an html page, with the layeringdictated by a compositing rule interpreter 116 with which the pagegenerator 118 also communicates. The html page containing the desiredimage is then transmitted by the http server 120 over a network to thehttp browser 124 that is the user interface in this implementation. Suchan implementation would be particularly suitable for use in an onlineinternet catalogue, for example, in which the garment images are used toinform purchaser decisions. In this embodiment, the user may establish avirtual identity by selecting a particular mannequin, naming themannequin, and establishing other parameters that govern how themannequin interacts with the dressing environment as well as possiblyother virtual environments. Such information could, for example, bestored in the form of a cookie on the user's machine which istransmitted to the http server upon connection with the user's browser.

Other implementations of the system shown in could be used byprofessional animators to generate images of clothed characters or bygarment designers to generate images of garments as they are designedfor actual manufacture. In those cases, the system could be implementedeither over a network or as a stand-alone machine. Such users may beexpected to use the system for populating the image repository withgarment images shown in FIG. 10 to generate images corresponding totheir own garment designs. An appropriate implementation of the displaysystem shown in FIG. 11 (e.g., non-networked) can then be used to renderimages of mannequins wearing selected garments that can be used inanimated features or as an aid to the garment design process.

In another embodiment, rendering frames rather than images are stored inthe repository and retrieved for display in response to user requests.Select objects such as garments are extracted from particular frames ofsimulation scenes containing select garments and mannequins to generaterendering frames that are stored in the repository. When a user selectsa display of a particular mannequin and garment combination, the system,retrieves the appropriate rendering frames according to versioning rulesand renders a composite image from a selected viewpoint. The particularviewpoint presented to the user at any one time is a static image, butit may be updated rapidly enough to give the impression of acontinuously changing viewpoint. The images are rendered from the frameseither simultaneously using the depth information contained therein, orseparately from each frame with the separately rendered images thenbeing displayed in layered order dictated by compositing rules. Thefunctions of the system could be implemented on a stand-alone machine ordistributed over a network, e.g., as where rendering frames aredownloaded to a java applet executed by a web browser that renders theimages displayed to the user.

In certain situations, available hardware performance may be such as tomake it desirable to simulate draping and collision of select garmentsand mannequins according to user requests in real time. In such anembodiment, rendering frames are generated from the user-selectedthree-dimensional simulation scenes, and images for displaying to theuser are then rendered. The simulation scene in this embodiment may bechanged in accordance with user preferences, for example, animating themannequin within the simulation to move from a dressing pose to auser-selected target pose before generating a rendering frame. Shapeblending between previously generated rendering frames can be used toimprove performance in generating rendering frames with modified garmentand/or mannequin parameters. In order to display the mannequin wearingmultiple garments, the garments can simultaneously simulated in a singlescene, or separate simulations can be performed for each garment withthe rendering frames generated therefrom being combined in accordancewith versioning rules.

Although the invention has been described in conjunction with theforegoing specific embodiments, many alternatives, variations, andmodifications will be apparent to those of ordinary skill in the art.Such alternatives, variations, and modifications are intended to fallwithin the scope of the following appended claims.

1. A method for producing an image of a computer-simulated mannequinwearing a garment as defined by selected mannequin and garment parametervalues, comprising: generating objects corresponding to a representativemannequin and a garment placed in a simulation scene within athree-dimensional modeling environment; simulating draping and collisionof the garment with the mannequin within the simulation scene togenerate a three-dimensional rendering frame of the mannequin wearingthe garment; constraining portions of the garment to reside within oroutside of particular shells defined around the mannequin in therendering frame; and rendering an image from the rendering frame. 2-45.(canceled)